package com.itzmn.datastructure.sort;

/**
 * @Author: 张梦楠
 * @Date: 2018/11/9 10:52
 * 简书：https://www.jianshu.com/u/d611be10d1a6
 * 码云：https://gitee.com/zhangqiye
 * @Description:  冒泡排序
 *
 *  目标：将数组变成递增
 *  冒泡排序：
 *      从第一个数据开始向后比较，如果前一个大就交换位置，如果后一个大就不交换,这是第一次，将最大值转移到了最后一位，
 *      然后开始第二轮，从第一个数据开始比较,但是至于要比较到倒数第二个数据，因为最后一个已经是最大的了
 *
 */
public class BubbleSort {


    public static void main(String[] args) {
        int[] ints = {2,6,3,7,7,1};
        new BubbleSort().bubblesort(ints);
    }

    /**
     * 冒泡排序
     * @param arrs 数组
     */
    public void bubblesort(int arrs[]){

        log(arrs);
        //比较的次数
        for (int i=0;i<arrs.length-1;i++){
            //当前数据的坐标
            for (int j=0;j<arrs.length-1-i;j++){
                if (arrs[j]>arrs[j+1]){
                    int tem = arrs[j+1];
                    arrs[j+1] = arrs[j];
                    arrs[j] = tem;
                }
            }
        }
        //打印
        log(arrs);
    }

    public void log(int arrs[]){

        for (int i=0;i<arrs.length;i++){
            System.out.print(arrs[i]+" ");
        }
        System.out.println();
    }



}
